有几次我因为建议使用以下方法而受到批评:
在Swing组件上.当我想在显示的组件之间定义比例时,我没有看到任何替代它们的用法.我被告知这个:
对于布局,答案总是相同的:使用合适的LayoutManager
我在网上搜索了一下,但我没有找到任何关于这个主题的综合分析.所以我有以下问题:
我有一个快速的问题.
我对Swing有一点经验,最简单的方法是绘制一个相当大的GUI.
作为GUI的一部分,我想要前进和后退按钮.我试图采用的方法是实现将当前JPanel推送到堆栈并检索前一个值的方法(在前向或反向(因此为2个堆栈)).我不能让它工作.也许我会以完全错误的方式解决它,或者堆栈不能以我使用它的方式使用.在任何一种情况下,它真的让我烦恼.我想有可能更简单的方式,如卡布局,但我认为这种方法应该工作,这是非常烦人的.
值得注意的是,我正在使用JFrame"基类"并根据屏幕更改中央JPanel.然而,导航栏是常量,作为"基类"的一部分
这个"基类"的代码:
public class Main_Frame extends JFrame{
static JPanel nav_bar_panel;
JButton home;
JButton back;
JButton forward;
JPanel currentPanel;
static Stack<JPanel> previousPanels;
static Stack<JPanel> forwardPanels;
public Main_Frame(){
super("DEMO");
setSize(800,600);
setLayout(new BorderLayout());
setVisible(true);
add(nav_bar(), BorderLayout.NORTH);
currentPanel = init_display();
add(currentPanel, BorderLayout.CENTER);
previousPanels = new Stack<JPanel>();
forwardPanels = new Stack<JPanel>();
}
private JPanel nav_bar(){
ButtonPressHandler handler = new ButtonPressHandler();
nav_bar_panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 10));
back = new JButton("Back");
back.addActionListener(handler);
home = new JButton("Home");
home.addActionListener(handler);
forward = new JButton("Forward");
forward.addActionListener(handler); …Run Code Online (Sandbox Code Playgroud) 我在Java Swing中创建了一个应用程序.我提供了从菜单中更改应用程序外观的选项,但是在添加新选项卡后JTabbedPane,它没有使用新的外观进行更新.
我已经使用过这段代码:
Window windows[] = Frame.getWindows();
for(Window window : windows) {
SwingUtilities.updateComponentTreeUI(window);
}
Run Code Online (Sandbox Code Playgroud) 我有个问题.
我有一个JFrame.它会创造一个JDialog.
当按下按钮时JDialog,应该处理它并发送电子邮件.与此同时,我需要另一个JDialog不确定的出现JProgressBar.发送电子邮件时,JDialog应该处理(和新的一个),或者它的内容应该更改.
我已经失败了好几个小时了,所以我问enyone他(或她)是否愿意给我写一个能做我想做的伪代码.
只是为了看看SwingWorker课程中应该包含什么(或者如果你觉得它更好的话就使用多线程),何时JDialog应该创建/处理,以及在电子邮件发送中的位置...
我知道我在这里要求一个完整的解决方案,但我已经在dedline并且已经失败了很多次......这是我的最后一招......