我需要动态添加组件。此外,我需要动态更改布局。
作为参考,以下是显示基本方法的脚本validate()。这个更精致的示例显示了两个要求:它更改布局并动态添加组件。
import java.awt.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
/** @see http://stackoverflow.com/questions/5750068 */
public class DynamicLayout extends JPanel {
private static final LayoutManager H = new GridLayout(1, 0);
private static final LayoutManager V = new GridLayout(0, 1);
public DynamicLayout() {
this.setLayout(H);
this.setPreferredSize(new Dimension(320, 240));
for (int i = 0; i < 3; i++) {
this.add(new JLabel("Label " + String.valueOf(i), JLabel.CENTER));
}
}
private void display() {
JFrame f = new JFrame("DynamicLayout");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(this);
JPanel p = new JPanel();
p.add(new JButton(new AbstractAction("Horizontal") {
@Override
public void actionPerformed(ActionEvent e) {
DynamicLayout.this.setLayout(H);
DynamicLayout.this.validate();
}
}));
p.add(new JButton(new AbstractAction("Vertical") {
@Override
public void actionPerformed(ActionEvent e) {
DynamicLayout.this.setLayout(V);
DynamicLayout.this.validate();
}
}));
f.add(p, BorderLayout.SOUTH);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new DynamicLayout().display();
}
});
}
}
我有以下元素,我想单击每个选项卡并检查输入字段中是否存在值,我想避免为每种语言创建每个WebElement 谁能告诉我怎么办。否则,我会为每种语言安装元素,并单击并检查文本区域,因此如果可以操纵xpath或css,那就太棒了 提前非常感谢各位。
问题内容: 我有一个网页,该网页实现了一组标签,每个标签显示不同的内容。选项卡单击不会刷新页面,而是在客户端隐藏/取消隐藏内容。 现在,需要根据页面上选择的选项卡来更改页面标题(出于SEO的原因)。这可能吗?有人可以提出一种解决方案,以通过javascript动态更改页面标题而无需重新加载页面吗? 问题答案: 更新 :根据SearchEngineL上的注释和参考,大多数网络爬虫将为更新的标题编制索
我开始为一个项目制作这个网页,到目前为止是这样的: 但是我想把文本区域放在另一个上面,而不是并排放置 我希望它看起来怎么样: 谁能帮帮我吗 https://i.stack.imgur.com/ZzsKS.png
问题内容: 我正在从数据库中成功获取数据值。我也将它们存储到一个数组中。我需要将String数组作为项的加载,以响应执行的关键操作。每当获取按键值时,如何获取按键值,就如何重新加载项目。相反,我需要动态刷新项目。 问题答案:
问题内容: 简而言之,有一个简单的java swing应用程序,其中包含JFrame和其中的某些组件。组件之一是一个JPanel,可以根据用户操作将其替换为另一个JPanel。 那么,做这种事情的正确方法是什么?我试过了 但这行不通。你有什么建议? 问题答案: 你的用例对于CardLayout来说似乎很完美。 在卡片布局中,你可以在同一位置添加多个面板,但是一次只能显示或隐藏一个面板。
问题内容: 我想要一个log4j配置,这样日志文件名应该像$ {System-name} log.log。也就是说,如果该应用程序在任何系统上启动,则无需更改配置文件或代码。它应该生成提到的日志文件名。谢谢。 问题答案: 我这样做: 1)通过以下方式初始化记录器: 2)在log4j.xml中我使用变量: