- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个简单的 Java Swing GUI 棋盘,玩家可以在其中拖放棋子。问题在于,由于框架周围的边框(标题在顶部、最大化/最小化/关闭按钮等),坐标会发生偏移 - (0, 0) 是框架的左上角框架,也就是说,在 X 按钮上方一点点,但是 GUI 开始在标题栏下方自行构建,因此 GUI 不与坐标对齐,事情最终不会按应有的方式工作。此外,当我将框架的大小时设置为例如 100 x 100 时,我的 GUI 的下半部分和一些右侧部分被切断,因为框架没有补偿其边框。当我将它作为小程序运行时,我没有遇到这个问题,但我不想那样做。我怎样才能摆脱我的框架窗口周围的边框,这样我就可以拥有普通的 GUI,或者让坐标自己正确设置?
sscce:
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
public class class1 extends JFrame{
public class1(){
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent evt){
System.out.print(evt.getPoint());
}
});
}
public static void main(String[] args){
class1 c = new class1();
c.setTitle("Test");
c.setSize(320, 320);
c.setLocationRelativeTo(null);
c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c.setVisible(true);
}
}
最佳答案
如果没有代码,很难知道你的代码有什么问题,但我知道如果你使用各种布局管理器走简单的路,让这些管理器为你布局组件和调整组件的大小事情也是如此,包括在 JFrame 上调用 pack()
,通常事情很容易就位。再次强调,不要设置任何东西的大小,而是让组件的首选大小和布局管理器为您做这件事。
如果这个建议没有帮助,请给我们更多的信息和代码,最好是 sscce ,一个可编译和可运行的小程序,除了演示您的问题外什么都不做。
编辑:我假设这是一个 Swing GUI。请验证是否是这样。
编辑 2:您遇到的一个问题是您在设置 JFrame 的大小时未考虑其“装饰”,包括菜单栏、调整大小/最大化/关闭图标。同样,您不应该直接设置尺寸,但如果您必须更好地覆盖保存网格的 JPanel 的 getPreferredSize()
方法。
编辑 3:例如:
import java.awt.*;
import javax.swing.*;
public class Grid extends JPanel {
public static final Color DARK_COLOR = Color.red.darker().darker().darker();
public static final Color LIGHT_COLOR = Color.lightGray.brighter();
public static final int SQUARE_SIDE = 60;
private static final int ROW_COUNT = 8;
@Override
public Dimension getPreferredSize() {
return new Dimension(ROW_COUNT * SQUARE_SIDE, ROW_COUNT * SQUARE_SIDE);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
for (int i = 0; i < ROW_COUNT; i++) {
for (int j = 0; j < ROW_COUNT; j++) {
Color c = (i % 2 == j % 2) ? LIGHT_COLOR : DARK_COLOR;
g.setColor(c);
int x = i * SQUARE_SIDE;
int y = j * SQUARE_SIDE;
g.fillRect(x, y, SQUARE_SIDE, SQUARE_SIDE);
}
}
}
public Grid() {
// TODO Auto-generated constructor stub
}
private static void createAndShowGui() {
Grid mainPanel = new Grid();
JFrame frame = new JFrame("Grid");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(mainPanel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}
关于Java 图形用户界面 : Making coordinates align properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10569191/
我正在阅读 Youtube 上的 Kubernetes 教程,发现以下 UI 演示了 Kubernetes 集群的 pod 和服务安排。如何在我的 Kubernetes 设置中安装此 UI? 最佳答案
这只是一个快速的(我希望)。 我最近访问了 jquery ui 对话框页面,查看在对话框中使用表单 http://jqueryui.com/dialog/#modal-form我注意到一些我以前没有见
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我想用 Java 为一个程序创建一个用户界面,让用户能够构建一棵节点树,每个节点执行一项特定的任务。该程序的界面与 Softimage Ice 非常相似,您可以通过单击 http://vimeo.co
下面是我在 SwiftUI 中创建 View 的代码。我要定位我的 欢迎按钮 到屏幕底部,如下所示。 struct welcomeViewControllerView: View { va
我目前有一个文本编辑器,我希望能够像这样在笔记应用程序中添加文本格式: 我试过 UITextView.allowsEditingTextAttributes = true但它似乎没有用。 任何想法将不
我不知道如何使用HDFS连接我的网站(我什至不确定是否有可能)。 我的网站基于PHP。我想存储有人点击我的网站的区域,如何将我的PHP与HDFS连接起来? 是否涉及任何插件?如果我希望这些信息被实时存
我正在寻找用 javascript 编程的新方法。我的目标是创建像 GMail 这样的 javascript 应用程序。我试过 GWT,但它接缝太复杂,而且代码也不时尚。 我发现 MVC 模式是一种很
我有多个渐变作为我的应用程序的主题。当渐变(存储在变量中)是特定的时,我想要一个 bool 值变为真。但是,我不断收到错误消息: "Binary operator '==' cannot be app
我有一个有很多类别的测验应用程序: 类别 1 列出第 1 项 列出第 2 项 类别 3 第 4 类 第 5 类 列出第 1 项 列出第 2 项 列出第 3 项 所以类别要么是指一般的不可选择的类别,即
如果我单击仅搜索“2018”的搜索按钮,但如果我在搜索“2018 歌曲”的电脑上按回车按钮,我想搜索“2018”,如果我在电脑上按回车按钮,我怎么能使用 Autocomplete | jQuery U
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在尝试为患有轻度认知障碍的祖母创建一个安卓平板电脑应用程序。该应用程序的功能之一是智能调度程序/提醒。例如:该应用程序会说“您服用红色药丸了吗?”是或否。如果没有或没有回复,则会向我的手机发送一条
有没有办法确保我的 Android UI 在不同手机上按预期显示? 最佳答案 遍历 developers guide on supporting multiple screens .它为您提供有关该主
我正在为 iPad 和 iPhone 创建一个通用应用程序。我有一个 UITextField,我希望用户在其中输入歌曲的名称或在他们的 iTunes 库中找到的任何声音媒体文件。我的问题不是关于查询图
这个问题在这里已经有了答案: Making a Chess Game with jQuery UI. I have used Draggable, but i need to make them n
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我想从选择器中获取所选项目以更新 Firebase 数据库中的一些数据,但是当我使用 onTapGesture 时不起作用 注意:选择器中的项目是字符串 我的代码: Picke
我需要我的应用程序在启动时配置后端,这是执行此操作的函数: // Initializes Amplify final func configureAmplify() async { do {
我有这个 Web 应用程序,其中一个模块使用了过多的 ui:include。 前任。 页面 1.0 包括 --> page1.1 包括页面 2.0 包括 --> 页面 2.1 页面 1.0 包括 --
我是一名优秀的程序员,十分优秀!