因此,我创建了2个jframes
但后来我意识到2jframes
不是一个好主意,所以我添加了jtabbedpane
,然后尝试以'jpanel
的形式添加不同的选项卡。但是我不能像在jframe
中那样定位组件,它看起来是这样的。
但我希望它是这样的
我怎么能这么做?
如果没有一个工作示例,您似乎保留了JPanel
的默认布局(它是一个FlowLayout
)。
首先为每个视图创建一个自定义面板,这将使管理和将它们应用到JTabbedPane
更加容易。
对于您的无意识布局问题,我推荐GridbagLayout
,因为它的功能和灵活性...
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTabbedPane tp = new JTabbedPane();
tp.add("Person", new JPanel());
tp.add("Work Detail", new TestPane());
frame.add(tp);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
private JTextField name;
private JTextField serial;
private JTextField id;
private JTextField email;
private JComboBox level;
public TestPane() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.EAST;
gbc.insets = new Insets(2, 2, 2, 2);
add(new JLabel("Name"), gbc);
gbc.gridx += 2;
add(new JLabel("Sr No"), gbc);
gbc.gridx = 0;
gbc.gridy++;
add(new JLabel("ID"), gbc);
gbc.gridx += 2;
add(new JLabel("Email ID"), gbc);
name = new JTextField(10);
serial = new JTextField(10);
id = new JTextField(10);
email = new JTextField(10);
level = new JComboBox(new String[]{"Manager", "Eng Lead", "Eng Designer", "Jr Designer"});
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 1;
gbc.gridy = 0;
add(name, gbc);
gbc.gridx += 2;
add(serial, gbc);
gbc.gridx = 1;
gbc.gridy++;
add(id, gbc);
gbc.gridx += 2;
add(email, gbc);
gbc.gridx = 0;
gbc.gridy++;
gbc.gridwidth = GridBagConstraints.REMAINDER;
add(level, gbc);
gbc.gridy++;
gbc.anchor = GridBagConstraints.CENTER;
add(new JButton("Save"), gbc);
}
}
}
我正在为我的Spring Boot应用程序配置OAuth2。我找到了一个解释它的链接https://gigsterous.github.io/engineering/2017/03/01/spring-boot-4.html. 这是我的OAuth2Config文件: 这是我的appUSerService文件: 但是我得到了这个错误:这一行有多个标记——这个位置不允许使用注释@限定符——注释类型限定
问题内容: 我有一个,我想将用户的输入限制为纯数字或带小数的数字(最多2个小数位)。 基本上,我要输入价格。 我想避免做正则表达式。有办法吗? 问题答案: 代替允许使用小数位数的,而使用允许最多两位的小数。
问题内容: 尝试使用中的注释时,Eclipse给了我这个错误。 我正在字段之前在带有注释的类中使用它。 以前,我在完全相同的地方使用过,很好。 我将 hibernate-core 从 4.1.9.Final 升级到 4.3.0.Beta3 并将 hibernate-commons- annotation 从 4.0.1 升级到 4.0.2 后,问题开始了。它说不推荐使用,建议使用它。 我发现的所有
我已经编写了这个类以及EventListener注释和一个triggerMail方法—— 但是,在eclipse ide中,它给出了错误此位置不允许注释@EventListener和参数triggerMail的非法修饰符;只允许最终。 如何解决此问题?请帮助。
我发现以下错误:对于我们使用的swagger2.2.0位置,不允许使用注释@ApiResponses 如果不升级swagger版本,我们还有什么选择吗?请帮助。。
问题内容: 我看到以下错误: 使用此代码: 是什么原因引起的,如何解决? 问题答案: 在当前域之外发出ajax请求时,Javascript是受限制的。 例1:您的域名为example.com,并且您想向test.com提出请求=>您不能。 例2:您的域名是example.com,并且您想向inner.example.com发送请求,但是您不能。 例3:您的域名为example.com:80,并且您