我和朋友一起做了一个更好的计划,他决定制作一个痛苦的工具,而我决定制作一个网络浏览器。我目前正在尝试实现这些字段。如果我添加一个地址栏和一个按钮,一切都按照说明的方式工作,但是当我放置一个JEditorPane时,显示器不显示它被告知显示的内容。
没有JEditorPane的代码(一切正常):
import java.awt.*;
import javax.swing.*;
public class browserPannel
{
public static void main(String[] arg)
{
JFrame browser = new JFrame("A Nun In A Weelchair");
browser.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
browser.setLocationRelativeTo(null);
browser.setSize(1000,700);
browser.setVisible(true);
browser.setResizable(false);
JTextField url = new JTextField();
url.setSize(890,30);
url.setVisible(true);
url.setLocation(15,15);
JPanel holder = new JPanel();
holder.setBackground(Color.lightGray);
holder.setSize(1000,700);
JButton send = new JButton("Send");
send.setSize(75,30);
send.setVisible(true);
send.setLocation(906,15);
//JEditorPane htmlc = new JEditorPane();
//htmlc.setBackground(Color.red);
//htmlc.setEditable(true);
//htmlc.setContentType("text/html");
//htmlc.setSize(500,500);
//htmlc.setVisible(true);
//htmlc.setLocation(15,50);
holder.add(url);
holder.add(send);
//holder.add(htmlc);
browser.getContentPane().add(holder);
}
}
图片没有JEditorPanehttp,一切都按照说法运作:http://i.stack.imgur.com/hONs3.png
使用JEditorPane的代码(一切都不按照说明的方式工作):
import java.awt.*;
import javax.swing.*;
public class browserPannel
{
public static void main(String[] arg)
{
JFrame browser = new JFrame("A Nun In A Weelchair");
browser.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
browser.setLocationRelativeTo(null);
browser.setSize(1000,700);
browser.setVisible(true);
browser.setResizable(false);
JTextField url = new JTextField();
url.setSize(890,30);
url.setVisible(true);
url.setLocation(15,15);
JPanel holder = new JPanel();
holder.setBackground(Color.lightGray);
holder.setSize(1000,700);
JButton send = new JButton("Send");
send.setSize(75,30);
send.setVisible(true);
send.setLocation(906,15);
JEditorPane htmlc = new JEditorPane();
htmlc.setBackground(Color.red);
htmlc.setEditable(true);
htmlc.setContentType("text/html");
htmlc.setSize(500,500);
htmlc.setVisible(true);
htmlc.setLocation(15,50);
holder.add(url);
holder.add(send);
holder.add(htmlc);
browser.getContentPane().add(holder);
}
}
IMAGE使用JEditorPane,一切都无法正常工作:http://i.stack.imgur.com/3ayeP.png
我尝试删除一些.set的,我试过看看onine,我也尝试过只运行JEditorPpane,但我似乎无法为它设置变量(例如位置,大小等)< / p>
答案 0 :(得分:0)
您遇到了问题,因为FlowLayout
经理是JPanel
的默认布局管理员,正在自行决定如何管理holder
面板并确定其内容
JScrollPane
s。有关详细信息,请参阅How to Use Scroll Panes
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class BrowserPannel {
public static void main(String[] arg) {
JFrame browser = new JFrame("A Nun In A Weelchair");
browser.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
browser.setLocationRelativeTo(null);
JTextField url = new JTextField(20);
JPanel header = new JPanel();
header.setBackground(Color.lightGray);
JButton send = new JButton("Send");
JEditorPane htmlc = new JEditorPane();
htmlc.setBackground(Color.red);
htmlc.setEditable(true);
htmlc.setContentType("text/html");
header.add(url);
header.add(send);
browser.getContentPane().add(header, BorderLayout.NORTH);
browser.getContentPane().add(new JScrollPane(htmlc));
browser.pack();
browser.setVisible(true);
}
}