我有这个jFrame类:
public class Frame1 extends javax.swing.JFrame {
........
String name;
File file;
JFileChooser FileChooser = new JFileChooser();
if (FileChooser.getSelectedFile().isFile()) {
try {
file = FileChooser.getSelectedFile();
name = FileChooser.getSelectedFile().getName();
System.out.println( name );
} catch (FileNotFoundException ex) {
Logger.getLogger(Frame1.class.getName()).log(Level.SEVERE, null, ex);
}
}
........
private void Button1 (java.awt.event.ActionEvent evt) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
Frame2 obj = new Frame2 ();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
然后我创建了类"Frame2":
public class Frame2 extends javax.swing.JFrame {
.......
}
Run Code Online (Sandbox Code Playgroud)
你可以成像,当我的程序启动时,我使用JFileChooser来选择一个文件; 之后我点击一个打开另一个jFrame的按钮; 在这个jFrame(Frame2)中
我需要的是使用我在之前的jFrame(Frame1)中选择的文件.所以我需要在"Frame2"中使用"Frame1"中的"file"变量.
我试图在Frame2中这样做: …
public ButtonGrid(int width, int length){ //constructor
frame.setTitle("MPC");
frame.setLayout(new GridLayout(width,length)); //set layout
grid=new JButton[width-1][length]; //allocate the size of grid
for(int y=0; y<length; y++){
for(int x=0; x<width-1; x++){
grid[x][y]=new JButton("("+x+","+y+")"); //creates new button
frame.add(grid[x][y]); //adds button to grid
grid[x][y].addActionListener(this);
grid[x][y].addKeyListener(this);
//grid[x][y].setMnemonic(KeyEvent.VK_0);
grid[x][y].setPreferredSize(new Dimension(75,75));
}
}
for(int i =0; i<boxList.length; i++)
box.addItem(boxList[i]);
box.addActionListener(this);
frame.add(box);
frame.add(met_speed);
frame.add(Play);
Play.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack(); //sets appropriate size for frame
frame.setVisible(true); //makes frame visible
}
public void newWindow(){
JFrame frame1 = new JFrame();
frame1.setLayout(new GridBagLayout());
GridBagConstraints gbc = new …Run Code Online (Sandbox Code Playgroud) 我正在与Swing合作,我是新手.
当我点击一个按钮时,新窗口将打开(a JFrame),我想拒绝用户选择背景窗口,除非他关闭新窗口.新窗口也不应该最小化和最大化.
怎么做到这一点?
我实际上正在开发一个显示许多帧的java项目,当我们点击一个按钮然后我们转到相应的框架......问题是第一帧始终保持可见.
我试过f1.setVisible(false); 在执行的动作中,但同样的问题仍然存在.