2013-12-04 6 views
0

У меня есть два JFramesnewAccessLevels.java, который имеет две кнопки «Level 1» «Уровень 2» и newAccessPanel.java мне нужно, чтобы получить уровень, который пользователь выбирает «1 или 2» на accessPanel, поэтому я могу отобразить его в заголовке accessPanel.java например Уровень доступа 1, уровень доступа 2. Как это можно сделать. Ниже приведен пример кода, так что если уровень 1 щелкнул newAccessPanel JFrame откроется с названием * УРОВЕНЬ ДОСТУПА 1 и наоборот для 2-го уровня:, как передать переменную из одного JFrame другому

newAccessLevels.java

package securitySystem; 

import java.awt.*; 
import javax.swing.*; 
import java.sql.*; 
import java.awt.event.*; 

public class newAccessLevels extends JFrame{ 

public static void main (String args[]){ 
    newAccessLevels gui= new newAccessLevels(); 
    gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    gui.setTitle("Access Levels"); 
    gui.setSize(400,400); 
    gui.setLocationRelativeTo(null); 
    gui.setVisible(true);  
} 

JButton btnLevel1= new JButton("Levels 1"); 
JButton btnLevel2= new JButton("Level 2"); 


public newAccessLevels(){ 
    setLayout (null); 

    btnLevel1.setBounds(120,70, 150, 30); 
    add(btnLevel1); 

    btnLevel2.setBounds(120,130, 150, 30); 
    add(btnLevel2); 
} 

public void calcButtons() 
{ 
    btnLevel1.addActionListener(new ActionListener() 
    { 
     public void actionPerformed(ActionEvent e) 
     { 
      newAccessPanel gui =new newAccessPanel(); 
      gui.setSize (360, 450); 
      gui.setLocationRelativeTo(null); 
      gui.setVisible(true); 
      dispose();    
     } 
    }); 

    btnLevel2.addActionListener(new ActionListener() 
    { 
     public void actionPerformed(ActionEvent e) 
     { 
      newAccessPanel gui =new newAccessPanel(); 
      gui.setSize (360, 450); 
      gui.setLocationRelativeTo(null); 
      gui.setVisible(true); 
      dispose();    
     } 
    }); 
} 

}

newAccessPanel.java

package securitySystem; 

import java.awt.*; 
import javax.swing.*; 
import java.sql.*; 
import java.awt.event.*; 

public class newAccessPanel extends JFrame{ 

public static void main (String args[]){ 
    newAccessPanel gui= new newAccessPanel(); 
    gui.setSize (360, 450); 
    gui.setLocationRelativeTo(null); 
    gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    gui.setVisible(true); 
    gui.setTitle("ACCESS LEVEL '1/2'");  
    //gui.setLayout(new BorderLayout()); 
    //gui.setBackground(Color.BLACK);  
} 

}

+0

Используйте EventListener. – Loc

+0

Вам необходимо показать некоторые фрагменты кода, чтобы уточнить ваш вопрос. –

+0

ok Мне нужно будет создать новый вопрос и поместить в него код – Adam

ответ

3

Привет, это подход, как вы можете это сделать, просто вам нужно построить новый JFrame с конструктором, который получает необходимый вам параметр.

Первый JFrame, где есть кнопки

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JFrame; 
import javax.swing.JButton; 

public class Frame1 extends JFrame{ 

    private String mensaje; 
    private JButton btnHola; 
    private JButton btnAdios; 

    public Frame1() { 
     getContentPane().setLayout(null); 

     btnHola = new JButton("Hello"); 
     btnHola.setBounds(63, 210, 89, 23); 
     getContentPane().add(btnHola); 
     btnHola.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent arg0) { 
       mensaje = Frame1.this.btnHola.getText(); 
       Frame2 frame2 = new Frame2(mensaje); 
      } 
     }); 

     btnAdios = new JButton("Bye"); 
     btnAdios.setBounds(245, 210, 89, 23); 
     getContentPane().add(btnAdios); 

     btnAdios.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent arg0) { 
      mensaje = Frame1.this.btnAdios.getText(); 
      Frame2 frame2 = new Frame2(mensaje); 
     } 
    }); 
    } 

    public static void main(String[] args) { 
     Frame1 frame = new Frame1(); 
     frame.setVisible(true); 
    } 
} 

Второй JFrame, где получено сообщение.

import javax.swing.JFrame; 

public class Frame2 extends JFrame { 
    public Frame2(String message) { 
     super(); 
     setVisible(true); 
     setTitle(message); 
    } 
} 

Я надеюсь, что это поможет вам. Приветствую!

Смежные вопросы