我一直在寻找有关JTabbedPane的内容,似乎无法找到任何解决方案。
我使用GridBagLayout作为管理器,因为我对此更熟悉(我是Java编程的新手)。
我已经制作了这个类,并使用JPanel扩展它,并在另一个类中添加所有类,当我运行程序时,我看到的是空白屏幕,我将发布代码,以便您可以看到。
(测试类/ GUI类)
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class test1 extends JPanel {
JTextField ID, Name, Address1, Address2,
Post_Code, Landline, Mobile, Card_Name,
Card_Number, Expiry_Date, Security_Number,
Identification = new JTextField();
ResultSet rs1;
Connection conn;
PreparedStatement pst;
//JFrame frame = new JFrame("Test");
String items[] = {"Yes", "No"};
JComboBox box = new JComboBox(items);
public test1() {
JPanel jp2 = new JPanel(new GridBagLayout());
GridBagConstraints c1 = new GridBagConstraints();
c1.insets = new Insets(5, 5, 5, 5);
c1.gridx = 1;
c1.gridy = 0;
c1.anchor = GridBagConstraints.CENTER;
jp2.add(new JLabel("Customer Registration"), c1);
c1.gridx = 0;
c1.gridy = 1;
c1.anchor = GridBagConstraints.EAST;
jp2.add(new JLabel("ID"), c1);
c1.gridx = 1;
c1.gridy = 1;
c1.anchor = GridBagConstraints.WEST;
jp2.add(ID = new JTextField(10), c1);
c1.gridx = 0;
c1.gridy = 2;
c1.anchor = GridBagConstraints.EAST;
jp2.add(new JLabel("Name"), c1);
c1.gridx = 1;
c1.gridy = 2;
c1.anchor = GridBagConstraints.WEST;
jp2.add(Name = new JTextField(10), c1);
c1.gridx = 0;
c1.gridy = 3;
c1.anchor = GridBagConstraints.EAST;
jp2.add(new JLabel("Address"), c1);
c1.gridx = 1;
c1.gridy = 3;
c1.anchor = GridBagConstraints.WEST;
jp2.add(Address1 = new JTextField(15), c1);
c1.gridx = 1;
c1.gridy = 4;
c1.anchor = GridBagConstraints.WEST;
jp2.add(Address2 = new JTextField(15), c1);
c1.gridx = 0;
c1.gridy = 5;
c1.anchor = GridBagConstraints.EAST;
jp2.add(new JLabel("Post Code"), c1);
c1.gridx = 1;
c1.gridy = 5;
c1.anchor = GridBagConstraints.WEST;
jp2.add(Post_Code = new JTextField(10), c1);
c1.gridx = 0;
c1.gridy = 6;
c1.anchor = GridBagConstraints.EAST;
jp2.add(new JLabel("Landline"), c1);
c1.gridx = 1;
c1.gridy = 6;
c1.anchor = GridBagConstraints.WEST;
jp2.add(Landline = new JTextField(10), c1);
}
}
将所有JTabbedPane组合在一起的类:
import javax.swing.JFrame; import javax.swing.JTabbedPane; import javax.swing.SwingUtilities;
public class tabadd扩展了JFrame {
JTabbedPane tab = new JTabbedPane();
Customer_Registration CR = new Customer_Registration();
test1 g = new test1();
public tabadd() {
tab.add("Customer Registration", CR);
tab.add("Equipment Registration", g);
getContentPane().add(tab);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
tabadd m = new tabadd();
m.setTitle("Test");
m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
m.setSize(1280, 720);
m.setLocationByPlatform(true);
m.setVisible(true);
}
});
}
}
将有多个类,因此Customer_Registration类。
再次感谢您的帮助。
答案 0 :(得分:2)
您没有在任何地方添加jp2面板。在test1
类构造函数的末尾添加以下行。
add(jp2);
另一种选择是将GridBagLayout
设置为test1
JPanel
的布局管理器,并将所有组件直接添加到其中。这样您就可以避免使用额外的jp2
面板。
请使用标准的Java命名类,例如test1
成为Test1
。