如何将 JScrollpane 添加到 JPanel?
How do I add JScrollpane to a JPanel?
我有一条线延伸到我的屏幕之外,所以我看不到它。所以我需要将 JScrollpane 添加到 Test2 class 但是当我尝试时它没有显示。
import javax.swing.*;
import java.awt.*;
public class Test extends JFrame {
Test() {
setSize(1000, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setContentPane(new Test2());
setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
class Test2 extends JPanel {
protected void paintComponent(Graphics g) {
g.drawLine(100, 100, 2000, 100);
}
}
您没有在代码中使用 JscrollPanel,所以看不到滚动条!我认为这会起作用
import javax.swing.*;
import java.awt.*;
public class Test extends JFrame {
Test() {
setSize(1000, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setLayout(new FlowLayout());
Test2 test2=new Test2();
JScrollPane scrollableLine = new JScrollPane(test2);
scrollableLine.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollableLine.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
setContentPane(scrollableLine);
setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
class Test2 extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(100, 100, 2000, 100);
}
@Override
public Dimension getPreferredSize() {
return new Dimension(3000, 3000);
}
}
我有一条线延伸到我的屏幕之外,所以我看不到它。所以我需要将 JScrollpane 添加到 Test2 class 但是当我尝试时它没有显示。
import javax.swing.*;
import java.awt.*;
public class Test extends JFrame {
Test() {
setSize(1000, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setContentPane(new Test2());
setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
class Test2 extends JPanel {
protected void paintComponent(Graphics g) {
g.drawLine(100, 100, 2000, 100);
}
}
您没有在代码中使用 JscrollPanel,所以看不到滚动条!我认为这会起作用
import javax.swing.*;
import java.awt.*;
public class Test extends JFrame {
Test() {
setSize(1000, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setLayout(new FlowLayout());
Test2 test2=new Test2();
JScrollPane scrollableLine = new JScrollPane(test2);
scrollableLine.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollableLine.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
setContentPane(scrollableLine);
setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
class Test2 extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(100, 100, 2000, 100);
}
@Override
public Dimension getPreferredSize() {
return new Dimension(3000, 3000);
}
}