Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何缩放GUI图片和按钮位置_Java_Jpanel_Tooltip - Fatal编程技术网

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(空)不会帮助将适当的布局管理器应用于标签并将按钮添加到标签