本文共 1893 字,大约阅读时间需要 6 分钟。
可以往JFrame里面放的东西有两种,Containers和Components.在jigloo的图形化界面上可以清楚的看到这些
常用的Containers(容器)有这些:
JFrame带标题和关闭按钮的界面 JPanel面板 JScrollPane带滚动条的面板 JSplitPane带分栏的面板 JTabbedPane标签页结构的面板 JDialog对话框常用的Components(组件)有这些
JButton按钮 JLabel标签(用于显示固定不变的文字 JTextField文本框(用于让用户写入文字) JRadioButton单选框 JCkeckBox选择框 JComboBox下拉框 JTable表格添加一个普通的容器或者组件的方法是相同的,都是两个步骤,创建出来,然后加进去。我们在实例(1)的基础上进行这两个操作,给一个空的JFrame加上一个组件
package basicCompoment;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.SwingUtilities;import javax.swing.WindowConstants;public class AddComponent extends JFrame{ public AddComponent(){ initGUI(); } private void initGUI(){ setVisible(true); setSize(300,400); setLocationRelativeTo(null); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); //创建元件 JButton jButton1 = new JButton("jButton1"); //添加元件 add(jButton1); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { AddComponent f = new AddComponent(); } }); }}
这里没有进行布局,只是将组件加进去,所以会显示覆盖整个Frame的一个按钮。
一般来说,可以将对象设为私有成员,在需要定义时创建,在需要加入时加入,可以更方便的在不同函数中对元件进行操作。特别需要注意的是所有的对象必须先初始化才能加入,并且每个对象只能放置在一个地方。即使是两个表现形式完全相同的对象,也必须new两个出来,试图将一个按钮放在两个地方这样的事情是行不通的。
将组件设为私有成员的方式
package basicCompoment;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.SwingUtilities;import javax.swing.WindowConstants;public class AddComponent2 extends JFrame{ //定义变量 private JButton jButton1; public AddComponent2(){ initGUI(); addComp(); } private void addComp(){ //初始化 jButton1 = new JButton("jButton1"); //添加元件 add(jButton1); } private void initGUI(){ setVisible(true); setSize(300,400); setLocationRelativeTo(null); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { AddComponent2 f = new AddComponent2(); } }); }}
转载地址:http://zymji.baihongyu.com/