Tag: awt

如何在JPanel中制作半透明的内容?

关于JPanel中组件的显示我很困惑。 假设我创建了一个半透明度为0.8f的自定义JPanel,如下所示: – JPanel panel=new JPanel(){ @Override public void paint(Graphics g) { super.paint(g); BufferedImage img=(BufferedImage)createImage(getWidth(),getHeight()); Graphics2D g2=(Graphics2D) g.create(); g2.setComposite(AlphaComposite.SrcOver.derive(0.8f)); g2.drawImage(img,0,0,null); } @Override public Dimension getPreferredSize() { return new Dimension(300,300); } }; 现在我将其设置为框架的contentPane。 frame.setContentPane(panel); 现在我添加一些按钮。 frame.add(new JButton(“Click Here”)); frame.add(new JButton(“Click Here”)); frame.add(new JButton(“Click Here”)); frame.add(new JButton(“Click Here”)); 1)然后在输出中我为什么会得到半透明按钮?由于JPanel是单层的,当我覆盖它的paint方法然后添加按钮时我首先绘制半透明图像,按钮不能是半透明的,因为它们应该越过它。 2)同样在这4个按钮中只有2个是半透明的。为什么会有这样的偏袒? 3)如果我在添加这4个按钮之前还添加了一个表,那么一切都变得半透明。为什么? Object[] names = new Object[] { […]

从另一个类向JButton添加actionListener

所以我有两个类testPanel和testFrame。 所有按钮都在testPanel类中。 我想将ActionListeners添加到testFrame类的Jbuttons中。 我该怎么做呢? パ: public class testPanel extends JPanel{ JLabel codeLbl = new JLabel(“Code”); JLabel titleLbl = new JLabel(“Title”); JLabel priceLbl = new JLabel(“Price”); JTextField codeTxt = new JTextField(20); JTextField titleTxt = new JTextField(20); JTextField priceTxt = new JTextField(20); JButton addBtn = new JButton(“Add”); JButton updateBtn = new JButton(“Update”); JButton delBtn = new JButton(“Delete”); […]

ActionListeners,多个字段更新以及从文件重新加载用户GUI选择

我有多个地方可以在一个坐标系和另一个坐标系之间进行转换。 在每种情况下都有一个余弦/正弦计算,我们称之为x,y和x’,y’。 这些都是JFormattedTextFields。 如果用户在4中的任何一个中输入值,则调用ActionListener。 让我们调用字段fieldx,fieldy,fieldx1和fieldy1。 如果用户在fieldx或fieldy中输入任何内容,我将使用fieldx和fieldy中的当前值更新fieldx1和fieldy1的键盘和焦点侦听器(所有四个字段都是相同的)。 如果对侦听器的调用来自fieldx1或fieldy1,则会计算fieldx和fieldy。 然后我决定在配置文件中保存所选字段(包括一堆复选框开/关和一些微调器的值)(开发后的新要求)。 我认为通过设置值和状态一切都会好的但是某些事情没有发生(在幕后)。 我认为部分原因是各种检查和输入等触发方法没有发生,因为当它们由一段代码设置时,字段没有触发键盘和焦点监听器。 在线阅读之后,我将所有的KeyboardAdapter更改为ActionListener,在我设置了值之后,我在上面提到的字段上调用了postActionEvent(),现在所有的后台内容都发生了(尽管顺序是一个问题,我将保存有关的额外信息)声明要正确更新。 我做了这个改变,因为我认为解雇这么多假键盘事件会更加困难吗? 可能有更聪明/聪明的方法来做到这一点但是现在我试图不要触及过多的代码。 有没有人建议保存面板的状态并刷新它(当前对象,面板)? 如果我继续这样做,有人可以建议一种方法来最小化ActionListener触发的时间吗? 它似乎经常发射它是荒谬的! 我应该改变这里建议的事情吗? 您的类应该实现ActionListener还是使用匿名ActionListener类的对象 这似乎涉及更多的编码,但更精确的触发时… 如果这种问题/讨论在这里不合适,请告诉我:)。 只需输入此页面,我就会想到更多要阅读和尝试的内容。

打印整个程序布局

我使用Netbeans制作了一个Java程序(基于JFrame ),我想知道是否可以打印程序的布局 我希望有一个按钮并将function设置为“打印”,并且将打印框架的最终布局,是否可能? 如果是,任何参考来源?

如何删除动作侦听器?

所以我正在制作一个国际象棋游戏,但只与骑士。 这是移动骑士的方法 public void caballo(final int row, final int column) { final JButton current = mesa[row][column]; current.setIcon(image); panel.repaint(); acciones(row, column, current); } public void acciones(final int row, final int column, final JButton current) { for (int i = 0; i < HEIGHT; i++) { for (int j = 0; j = 0 && row = […]

如何在Java Swing中设置当前屏幕大小?

我第一次使用swing API来获取win应用程序的屏幕分辨率。 如何在Java Swing中设置当前屏幕大小?

类不是抽象的,也不会覆盖抽象方法AWT程序

import java.awt.*; import java.awt.event.*; public class QuadraticSolver extends Frame implements ActionListener, WindowListener { private TextField tfX2; private TextField tfX; private TextField tfNum; private TextField tfVal1; private TextField tfVal2; private TextField tfRoots; private Label lblX2; private Label lblX; private Label lblNum; private Label lblVal1; private Label lblVal2; private Label lblRoots; private Button btnCheckRoots; private Button btnCalc; […]

检测当前屏幕边界

我正在开发一个具有setDecoration(false)的应用程序,我有一个MouseMotionlistener所以我可以移动它,此刻我正在尝试制作一个最大化按钮。 在默认监视器上它可以很好地工作,但在第二个监视器上,如果我单击最大化按钮,它将最大化到默认屏幕。 如何获取应用程序当前所在屏幕的X和Y坐标? IE我在1600×900都有2个显示器,所以如果应用程序在监视器1上,则X和Y将为0和0,但如果是第二个监视器则为1600和0。 但我需要它,所以它适用于所有尺寸的显示器,即1200×800,或者如果显示器垂直而不是水平。

如何在Java中检查启动时按下的键

我正在尝试编写一个程序首次启动时弹出的分辨率选择对话框。 为了防止用户厌烦,我想实现相当标准的function,您可以使用复选框关闭该对话框,但在启动时按住alt键将其取回。 不幸的是,没有明显的方法来询问java 当前是否正在按下给定的键。 您只能注册以通过KeyListener通知新的按键操作,但如果按键在应用程序启动之前启动,则无效。

Java Swing图形故障处理透明度和图像

所以我有这个登录表单,我有一张“用户照片”。 我试图这样做,以便当您将鼠标hover在照片区域上时,将出现带有彩色背景的透明标签(以显示“选择照片”的效果)。 它看起来像这样: 一旦你将鼠标移开,它就会被“取消选择”。 现在我的问题是,如果您先将鼠标hover在登录按钮上,然后将鼠标移到照片上,则会出现“幽灵登录按钮”。 它看起来像这样: 我不知道为什么会这样。 有人可以帮忙吗? 这是相关的代码: package com.stats; public class Stats extends JFrame implements Serializable { private JLabel fader; public Stats() { try { Image image = ImageIO.read(new File(System.getenv(“APPDATA”) + “\\Stats\\Renekton_Cleave.png”)); JLabel labelUserPhoto = new JLabel(new ImageIcon(image)); fader = new JLabel(); fader.setBounds(97, 44, 100, 100); fader.setOpaque(true); fader.setBackground(new Color(0, 0, 0, 0)); labelUserPhoto.setBounds(97, […]