Java 如何缩放GUI图片和按钮位置
大家好,又是我,还有一个问题。所以我有这个程序,我基本上做了它应该做的,但我并没有在程序中真正实现滚动面板的想法,因为滚动面板的尺寸非常大。我只是把它弄大了,因为这样我就可以让我的隐形按钮不动了。如果你明白我的意思,我如何让我的隐形按钮停留在图像的某个特定位置而不是布局?我希望按钮停留在图像上的某个点,而不是布局上,这样,如果我移动滚动面板尺寸,它就会随之移动。对不起,如果我不善于解释,这里是我的代码。感谢您抽出时间阅读此文章Java 如何缩放GUI图片和按钮位置,java,jpanel,tooltip,Java,Jpanel,Tooltip,大家好,又是我,还有一个问题。所以我有这个程序,我基本上做了它应该做的,但我并没有在程序中真正实现滚动面板的想法,因为滚动面板的尺寸非常大。我只是把它弄大了,因为这样我就可以让我的隐形按钮不动了。如果你明白我的意思,我如何让我的隐形按钮停留在图像的某个特定位置而不是布局?我希望按钮停留在图像上的某个点,而不是布局上,这样,如果我移动滚动面板尺寸,它就会随之移动。对不起,如果我不善于解释,这里是我的代码。感谢您抽出时间阅读此文章 import java.awt.*; import javax.sw
import java.awt.*;
import javax.swing.*;
public class TransitMap
{
//-----------------------------------------------------------------
// Presents a frame containing a scroll pane used to view a large
// map of the New York transit system.
//-----------------------------------------------------------------
public static void main(String[] args)
{
JFrame frame = new JFrame("New York Transit Map");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setLayout(null);
//frame.setPreferredSize(new Dimension(900, 900));
JPanel mainPane = new JPanel();
mainPane.setLayout(null);
mainPane.setPreferredSize(new Dimension(1300,800));
ImageIcon image = new ImageIcon("fortress.jpg");
JLabel imageLabel = new JLabel(image);
JScrollPane sp = new JScrollPane(imageLabel);
sp.setPreferredSize(new Dimension(400, 400));
sp.setBounds(0, 0, 1300, 800);
JButton button = new JButton("test");
button.setBounds(640,360,50,50);
button.setOpaque(false);
button.setContentAreaFilled(false);
button.setBorderPainted(false);
button.setToolTipText("<html><img src=\"" +
TransitMap.class.getResource("Bala_Hissar.jpg") +
"\"> <br> This is the fortress ");
mainPane.add(button);
mainPane.add(sp);
frame.getContentPane().add(mainPane);
frame.pack();
frame.setVisible(true);
}
}
import java.awt.*;
导入javax.swing.*;
公共类TransitMap
{
//-----------------------------------------------------------------
//显示一个框架,其中包含用于查看大型
//纽约交通系统地图。
//-----------------------------------------------------------------
公共静态void main(字符串[]args)
{
JFrame=新JFrame(“纽约公交地图”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setLayout(空);
//框架。设置首选尺寸(新尺寸(900900));
JPanel主窗格=新的JPanel();
mainPane.setLayout(空);
主窗格。设置首选尺寸(新尺寸(1300800));
ImageIcon image=新的ImageIcon(“fortress.jpg”);
JLabel imageLabel=新的JLabel(图像);
JScrollPane sp=新的JScrollPane(图像标签);
sp.setPreferredSize(新尺寸(400400));
sp.setBounds(0,0,1300,800);
JButton按钮=新JButton(“测试”);
按钮.立根(640360,50,50);
按钮。设置不透明(假);
按钮。setContentAreaFilled(假);
按钮。已涂漆(假);
setToolTipText(“这是堡垒”);
主窗格。添加(按钮);
主窗格。添加(sp);
frame.getContentPane().add(主窗格);
frame.pack();
frame.setVisible(true);
}
}
mainPane.setLayout(空)代码>不会帮助将适当的布局管理器应用于标签并将按钮添加到标签