У меня трудности с отображением текста в JPanel. Вопрос в том, должен ли я использовать JLabel для отображения текста, или есть какой-то другой способ сделать это? Кажется, это то, о чем говорит большинство уроков, я просто не уверен.
Код выглядит так:
public class WhatToDo extends JFrame{
public void aboutus(){
try{
//open the file
FileInputStream inMessage = new FileInputStream("aboutus.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(inMessage);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
System.out.println (strLine);
}
//Close the input stream
in.close();
Container con = getContentPane();
con.setLayout(null);
ImageIcon imh1 = new ImageIcon("img/aboutus.png");
setSize(imh1.getIconWidth(), imh1.getIconHeight());
JPanel panelBgImg = new JPanel()
{
public void paintComponent(Graphics g)
{
Image img = new ImageIcon("img/aboutus.png").getImage();
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
g.drawImage(img, 0, 0, null);
}
};
Container pane = getContentPane();
JPanel back = new JPanel(new FlowLayout());
back.add(new AboutUsBack(null));
back.setBounds(1170, 665, 83, 85);
back.setBackground(new Color(118, 122, 117, 0));
pane.add(back);
JPanel content = new JPanel(new FlowLayout());
content.setToolTipText(strLine);
content.setForeground(Color.red);
content.setBounds(570, 165, 583, 85);
content.setFont(new Font("Dialog", 1, 14));
pane.add(content);
con.add(panelBgImg);
panelBgImg.setBounds(0, 0, imh1.getIconWidth(), imh1.getIconHeight());
setUndecorated(true);
setResizable(true);
setVisible(true);
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
Большое спасибо заранее.