public class ComputerSystem extends JFrame{ private Vector<Computer> computers; private JButton button_Start; private JPanel panel0; private JDialog dialog_enter1; private final String[][] StaffLists = {{"p1","p1"},{"p2","p2"},{"p3","p3"},{"m1","m1"},{"m2","m2"}}; public ComputerSystem(Vector<Computer> computers){ this.computers = computers; setLayout(null); panel0 = new JPanel(); JLabel label = new JLabel(new ImageIcon("")); panel0.add(label); getContentPane().add(panel0); button_Start = new JButton("Click to login",new ImageIcon("ComputerStore.png"));//这个图片整不上去,最后整一个,好看 add(button_Start); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); button_Start.setBounds(5,5,400,150); button_Start.setHorizontalTextPosition(SwingConstants.RIGHT); button_Start.setVerticalTextPosition(SwingConstants.CENTER); button_Start.setFont(new Font("黑体",Font.BOLD,40)); public class Main { public static void main(String[] args) { //Computer[] computers = new Computer[999]; Vector<Computer> computers = new Vector<>(999); Scanner scanner = null; int i = -1; try { scanner = new Scanner(new BufferedReader(new FileReader("C:\Users\86137\Desktop\Computer.txt"))); String item; try { while (scanner.hasNext()) { i++; item = scanner.nextLine(); String[] cols = item.split(","); if(Objects.equals(cols[0], "Desktop PC")){ computers.add(new Desktop(cols[0], cols[1], cols[2], cols[3], cols[4], Integer.valueOf(cols[7]), Integer.valueOf(cols[5]), Integer.valueOf(cols[6]))); } if(Objects.equals(cols[0], "Laptop")){ computers.add(new Laptop(cols[0], cols[1], cols[2], cols[3], cols[4], Integer.valueOf(cols[8]), Integer.valueOf(cols[5]), Integer.valueOf(cols[6]), Double.valueOf(cols[7]))); } if(Objects.equals(cols[0], "Tablet")){ computers.add(new Tablet(cols[0], cols[1], cols[2], cols[3], cols[4], Integer.valueOf(cols[6]), Double.valueOf(cols[5]))); } // computers[i].category = cols[0]; // computers[i].Type = cols[1]; // computers[i].ID = cols[2]; // computers[i].Brand = cols[3]; // computers[i].CPU_Family = cols[4]; // computers[i].Price = Integer.valueOf(cols[5]); } }finally { if (scanner != null) { scanner.close(); } } } catch (IOException e) { e.printStackTrace(); } ComputerSystem computerSystem = new ComputerSystem(computers); computerSystem.setTitle("Computer Products Management System"); computerSystem.setSize(700,300); computerSystem.setLocationRelativeTo(null); computerSystem.setVisible(true); computerSystem.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // TableFilterDemo demo = new TableFilterDemo(computers); } }这段代码为什么无法呈现按钮和图片。 一些类没给你,不影响
时间: 2023-12-14 08:37:09 浏览: 114
这段代码中似乎缺少一些方法的结束大括号 "}",不过我假设这只是复制时的问题。关于按钮和图片无法呈现的问题,可能是因为图片路径不正确导致的。可以尝试将图片放在项目根目录下,然后使用相对路径来加载图片,例如:
```
new ImageIcon("./ComputerStore.png")
```
另外,关于按钮无法呈现的问题,可能是因为没有将按钮添加到 JFrame 中。可以尝试添加以下代码:
```
getContentPane().add(button_Start);
```
完整代码如下:
```
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.util.Objects;
import java.util.Scanner;
import java.util.Vector;
public class ComputerSystem extends JFrame{
private Vector<Computer> computers;
private JButton button_Start;
private JPanel panel0;
private JDialog dialog_enter1;
private final String[][] StaffLists = {{"p1","p1"},{"p2","p2"},{"p3","p3"},{"m1","m1"},{"m2","m2"}};
public ComputerSystem(Vector<Computer> computers){
this.computers = computers;
setLayout(null);
panel0 = new JPanel();
JLabel label = new JLabel(new ImageIcon("./ComputerStore.png"));
panel0.add(label);
getContentPane().add(panel0);
button_Start = new JButton("Click to login",new ImageIcon("./ComputerStore.png"));
add(button_Start);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
button_Start.setBounds(5,5,400,150);
button_Start.setHorizontalTextPosition(SwingConstants.RIGHT);
button_Start.setVerticalTextPosition(SwingConstants.CENTER);
button_Start.setFont(new Font("黑体",Font.BOLD,40));
}
public static void main(String[] args) {
Vector<Computer> computers = new Vector<>(999);
Scanner scanner = null;
int i = -1;
try {
scanner = new Scanner(new BufferedReader(new FileReader("./Computer.txt")));
String item;
try {
while (scanner.hasNext()) {
i++;
item = scanner.nextLine();
String[] cols = item.split(",");
if(Objects.equals(cols[0], "Desktop PC")){
computers.add(new Desktop(cols[0], cols[1], cols[2], cols[3], cols[4], Integer.valueOf(cols[7]), Integer.valueOf(cols[5]), Integer.valueOf(cols[6])));
}
if(Objects.equals(cols[0], "Laptop")){
computers.add(new Laptop(cols[0], cols[1], cols[2], cols[3], cols[4], Integer.valueOf(cols[8]), Integer.valueOf(cols[5]), Integer.valueOf(cols[6]), Double.valueOf(cols[7])));
}
if(Objects.equals(cols[0], "Tablet")){
computers.add(new Tablet(cols[0], cols[1], cols[2], cols[3], cols[4], Integer.valueOf(cols[6]), Double.valueOf(cols[5])));
}
}
}finally {
if (scanner != null) {
scanner.close();
}
}
} catch (IOException e) {
e.printStackTrace();
}
ComputerSystem computerSystem = new ComputerSystem(computers);
computerSystem.setTitle("Computer Products Management System");
computerSystem.setSize(700,300);
computerSystem.setLocationRelativeTo(null);
computerSystem.setVisible(true);
computerSystem.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
```
阅读全文