界面跳转问题!求达人! 用Swing做GUI的时候比如有2个界面:1个登陆界面,1个登陆后的界面登陆界面上有个按键,按了后就跳到登陆后的界面这种该怎么做啊?具体点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 new一个登录后的界面对象啊,然后让它显示setVis......(true); 麻烦帮我看眼代码这是一个界面1里的按钮事件 private JButton getJButton() { if (jButton == null) { jButton = new JButton(); jButton.setBounds(new Rectangle(150, 275, 83, 33)); jButton.setText("Send"); jButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { MyApp m=new MyApp(); m.messagePanel.setVisible(false); m.panel2.setVisible(true); // 这里和上一行的messagePanel,panel2都无法识别,是不是因为JFrame把它设置为私有了? } }); } return jButton; }这是JFrame的代码import java.awt.BorderLayout;import java.awt.*;import javax.swing.JPanel;import javax.swing.JFrame;import java.awt.CardLayout;import java.awt.Rectangle;import java.awt.Dimension;public class MyApp extends JFrame { private static final long serialVersionUID = 1L; private Panel2 panel2 = null; private MessagePanel messagePanel = null; private JPanel jContentPane = null; /** * This is the default constructor */ public MyApp() { super(); initialize(); } /** * This method initializes this * * @return void */ private void initialize() { this.setSize(532, 360); this.setContentPane(getJContentPane()); this.setTitle("JFrame"); this.setVisible(false); } /** * This method initializes panel2 * * @return Panel2 */ private Panel2 getPanel2() { if (panel2 == null) { panel2 = new Panel2(); } return panel2; } /** * This method initializes messagePanel * * @return MessagePanel */ private MessagePanel getMessagePanel() { if (messagePanel == null) { messagePanel = new MessagePanel(); } return messagePanel; } /** * This method initializes jContentPane * * @return javax.swing.JPanel */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(new BorderLayout()); jContentPane.add(getPanel2(), BorderLayout.NORTH); jContentPane.add(getMessagePanel(), BorderLayout.EAST); } return jContentPane; }} // @jve:decl-index=0:visual-constraint="11,10"我把属性去掉private依然没反映,现在变成了一运行,JFrame上一个Panel都看不到了?怎么回事啊! 代码不全,Panel2是有些什么代码也不清楚 MyApp m=new MyApp(); m.messagePanel.setVisible(false); m.panel2.setVisible(true); 直接使用m.setVisible(true);啊,怎么好像你的都是false,false是不显示啊 你为什么要显示一个 panel 呢。 。 正确的应该是 MyApp m=new MyApp(); m.setVisible(true); 无法识别 是因为panel是私有的。。 如果你想得到他调用 getPanel2() 方法。。 发现你代码写的很乱。。 private void initialize() { this.setSize(532, 360); this.setContentPane(getJContentPane()); this.setTitle("JFrame"); this.setVisible(false); //这里没必要 } 用cardlayout布局可以很容易解决 楼上说出了我要的结果。谢谢。我的代码是Visual Editor直接拉出来的。所以没看过这种风格的看起来是会比较乱。拖出来的就是不生成对象的所以比较囧 经常更新且数据量较大的数据要怎么处理? 如何测试jdk源码 现在想测试String类 下面这段怎么老是无穷循环呀??? jdbc连接mysql不能updateRow问题 关于BufferedReader的问题,只能在屏幕上打印一部分内容,为什么? ===有奖竟猜===季后赛=火箭VS小牛(1)=== 截止时间:4月24日-4点59分 java 的简单问题 9 ???/*148*/ Java中如何实现双重指针??急急急急!!! 面试小问题 求大神指教,我红字标注的那里为什么报错了~谢谢各位~ 如何设置 才能使javac 不用输入目录 谁来帮帮我
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(150, 275, 83, 33));
jButton.setText("Send");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
MyApp m=new MyApp();
m.messagePanel.setVisible(false);
m.panel2.setVisible(true); // 这里和上一行的messagePanel,panel2都无法识别,是不是因为JFrame把它设置为私有了?
}
});
}
return jButton;
}这是JFrame的代码
import java.awt.BorderLayout;
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.CardLayout;
import java.awt.Rectangle;
import java.awt.Dimension;public class MyApp extends JFrame { private static final long serialVersionUID = 1L;
private Panel2 panel2 = null;
private MessagePanel messagePanel = null;
private JPanel jContentPane = null;
/**
* This is the default constructor
*/
public MyApp() {
super();
initialize();
} /**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(532, 360);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
this.setVisible(false);
} /**
* This method initializes panel2
*
* @return Panel2
*/
private Panel2 getPanel2() {
if (panel2 == null) {
panel2 = new Panel2();
}
return panel2;
} /**
* This method initializes messagePanel
*
* @return MessagePanel
*/
private MessagePanel getMessagePanel() {
if (messagePanel == null) {
messagePanel = new MessagePanel();
}
return messagePanel;
} /**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getPanel2(), BorderLayout.NORTH);
jContentPane.add(getMessagePanel(), BorderLayout.EAST);
}
return jContentPane;
}} // @jve:decl-index=0:visual-constraint="11,10"
我把属性去掉private依然没反映,现在变成了一运行,JFrame上一个Panel都看不到了?怎么回事啊!
m.messagePanel.setVisible(false);
m.panel2.setVisible(true);
直接使用m.setVisible(true);啊,怎么好像你的都是false,false是不显示啊
MyApp m=new MyApp();
m.setVisible(true);
无法识别 是因为panel是私有的。。 如果你想得到他调用 getPanel2() 方法。。 发现你代码写的很乱。。 private void initialize() {
this.setSize(532, 360);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
this.setVisible(false); //这里没必要
}
我的代码是Visual Editor直接拉出来的。所以没看过这种风格的看起来是会比较乱。
拖出来的就是不生成对象的所以比较囧