0
나는 조금 붙어있는 과제를하고 있습니다. 나는 이러한 요구 사항이 있습니다 BorderLayout를와GridLayout을 사용하여 프레임에 버튼 추가하기
- 1 프레임
- 패널 2 개 버튼
- 1 GridLayout과와 패널 새로운 프레임에서 남쪽 지역
- 1 FileChooser에에있는 두 개의 버튼을 넣어를 중앙 지역에서
- 1 텍스트 영역은
- 1 라벨 프로그램이 북쪽 지역에서 무엇을 말하는
임시 폴더에서 두 파일의 입력을 가져 와서 화면 중앙의 텍스트 필드 으로 읽습니다.
두 버튼이 모두 표시되지 않는 이유를 알 수 없습니다.
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class P_Supplemental_11 extends JFrame {
JPanel jpnl1 = new JPanel();
JButton jbtReadFile1 = new JButton("Get Student Names");
JButton jbtReadFile2 = new JButton("Get Student Grades");
JTextField jtxtFilePath = new JTextField();
JLabel jlblDesc = new JLabel("Enter the file name here:");
JTextArea jtxtAfileContents = new JTextArea();
P_Supplemental_11() {
this.setLayout(new BorderLayout(5, 10));
jpnl1.setLayout(new GridLayout(2, 2));
jpnl1.add(jlblDesc);
jpnl1.add(jtxtFilePath);
add(jpnl1, BorderLayout.NORTH);
add(jtxtAfileContents, BorderLayout.CENTER);
add(jbtReadFile1, BorderLayout.SOUTH);
jbtReadFile1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jbtReadFileActionPerformed(evt);
}
});
add(jbtReadFile2, BorderLayout.SOUTH);
jbtReadFile2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jbtReadFileActionPerformed2(evt);
}
});
} // end constructor
private void jbtReadFileActionPerformed(ActionEvent evt) {
try {
File inFile = new File("c:/temp/studentnames.txt");
Scanner input = new Scanner(inFile);
String fileContents = "";
while(input.hasNext()) {
fileContents+= input.nextLine() + "\n";
} // end while
jtxtAfileContents.setText(fileContents);
input.close();
} // end action method for jbtReadFile button
catch (FileNotFoundException ex) {
Logger.getLogger(P_Supplemental_11.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jbtReadFileActionPerformed2(ActionEvent evt) {
try {
File inFile = new File("c:/temp/studentscores.txt");
Scanner input = new Scanner(inFile);
String fileContents = "";
while(input.hasNext()) {
fileContents+= input.nextLine() + "\n";
} // end while
input.close();
jtxtAfileContents.setText(fileContents);
} // end action method for jbtReadFile button
catch (FileNotFoundException ex) {
Logger.getLogger(P_Supplemental_11.class.getName()).log(Level.SEVERE, null,
ex);
}
}
public static void main(String[] args) {
P_Supplemental_11 frame = new P_Supplemental_11();
frame.setTitle("P_Supplemenetal_10");
frame.setSize(410, 520);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
, I 프레임의 남쪽 부분에 서로 옆에 넣어 얼마나? 할당은 하나의 프레임을 사용하도록 호출합니다. – Dhunt90
새 패널에 배치하십시오. 업데이트를 참조하십시오. – Reimeus
그런 다음 내 섹션 add (jbtReadFile1, BorderLayout.SOUTH)를 제거해야합니다. jbtReadFile1.addActionListener (새의 ActionListener() { 공공 무효의 actionPerformed (ActionEvent의의 EVT) { jbtReadFileActionPerformed (EVT) } – Dhunt90