0
Когда я запускаю эту программу, я не вижу полосу прокрутки на ярлыке. Что мне не хватает?ScrollPane не отображается на JLabel
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Util1
{
public static void main(String[] args)
{
new Util1();
}
public Util1()
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new ExamplePane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
protected class ExamplePane extends JPanel
{
public ExamplePane()
{
final JPanel panel = new JPanel(new GridBagLayout());
final JLabel message = new JLabel("<html>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello</html>");
message.setPreferredSize(new Dimension(500, 50));
JScrollPane scroller = new JScrollPane(message, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scroller.setViewportView(message);
panel.add(scroller);
add(panel);
}
}
}
Это 'message.setPreferredSize' плохой старт – MadProgrammer
Изменение менеджер компоновки , Я вынул 'panel' и установил диспетчер макета' ExamplePane' в 'BorderLayout' – MadProgrammer
Я предполагаю, что html вызывает его. Возможно, первый ответ здесь помогает: http://stackoverflow.com/questions/9335138/add-a-jscrollpane-to-a-jlabel – ThoFin