你不要用framepack()方法。
代码如下:
import javaawt;
importjavaawtevent;
public class TFMath {
public static void main(String[] args) {
new TFFrame1()launchFrame();
}
}
class TFFrame1 extends Frame {
TextField num1, num2, num3;
public void launchFrame() {
num1 = new TextField(10);
num2 = new TextField(10);
num3 = new TextField(15);
Label lblPlus = new Label("+");
Button btnEqual = new Button("=");
btnEqualaddActionListener(new MyMonitor111(this));
setLayout(new FlowLayout());
add(num1);
add(lblPlus);
add(num2);
add(btnEqual);
add(num3);
//pack();
setVisible(true);
}
根据窗口大小显示图象
import javaawt;
import javaio;
import javaximageio;
import javaxswing;
public class ImageTest
{
public static void main(String[] args)
{
ImageFrame frame = new ImageFrame();
framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
framesetVisible(true);
}
}
/
A frame with an image panel
/
class ImageFrame extends JFrame
{
public ImageFrame()
{
setTitle("ImageTest");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
// add panel to frame
ImagePanel panel = new ImagePanel();
add(panel);
}
public static final int DEFAULT_WIDTH = 320;
public static final int DEFAULT_HEIGHT = 240;
}
/
A panel that displays a tiled image
/
class ImagePanel extends JPanel
{
public ImagePanel()
{
// acquire the image
try
{
image = ImageIOread(new File("1jpg"));
}
catch (IOException e)
{
eprintStackTrace();
}
}
public void paintComponent(Graphics g)
{
superpaintComponent(g);
if (image == null) return;
gdrawImage(image, 0, 0,getWidth(),getHeight(), null);
}
private Image image;
}
也许用到的机会很少 但JDK还是为我们提供了这个的功能 像许多软件中的打印预览功能 还有某些文本编辑器中为了获得更大的编辑画面 也用到了Swing全屏幕模式 如果你有兴趣写一个像ACDSee这样的软件 使用Swing全屏幕模式可以让用户看到更大的画面
如何使用Swing全屏幕模式?
关键是java awt 里面的两个与显示设备有关的类 GraphicsEnvironment和GraphicsDevice
GraphicsEnvironment为Java应用程序提供了特定平台的 GraphicsDevice对象和 Font 对象集合 这些GraphicsDevice可以是各种本机和远端机器的资源 如屏幕 打印机或者是Image Buffer 甚至是Graphics D绘图方法的目标对象
而GraphicsDevice就是指特定的图形环境了 如屏幕和打印设备等 这样 我们就可以用GraphicsDevice来 *** 纵屏幕了 GraphicsDevice提供的setFullScreenWindow()方法就是设置全屏幕用的
由于GraphicsEnvironment的构造器是受保护的(protected) 我们不能直接构造一个GraphicsEnvironment 对象来获得GraphicsDevice对象 幸好它提供了getLocalGraphicsEnvironment()方法 用来获得一个 GraphicsEnvironment实例
GraphicsEnvironment ge = GraphicsEnvironment getLocalGraphicsEnvironment();
有了GraphicsEnvironment可以调用getDefaultScreenDevice方法获得当前的Swing全屏幕模式设备了
GraphicsDevice gd = ge getDefaultScreenDevice();
自己动手体验一下
有了上面的简介 写一个实例来体验一下吧
importjava awt Color;
importjava awt Font;
importjava awt Graphics;
importjava awt GraphicsDevice;
importjava awt GraphicsEnvironment;
importjava awt event MouseAdapter;
importjava awt event MouseEvent;
importjavax swing JWindow;
publicclassFullScreenTest{
publicstaticvoidmain(String[]args){
GraphicsEnvironmentGraphicsEnvironmentge=
GraphicsEnvironment getLocalGraphicsEnvironment();
GraphicsDevicegd=ge getDefaultScreenDevice();
FullScreenWindowmyWindow=newFullScreenWindow();
if(gd isFullScreenSupported())
gd setFullScreenWindow(myWindow);
else
System out println( Unsupportedfullscreen );
}
staticclassFullScreenWindowextendsJWindow{
publicFullScreenWindow(){
this addMouseListener(newMouseAdapter(){
publicvoidmousePressed(MouseEventevt){
quit();
}
});
}
publicvoidquit(){
this dispose();
}
publicvoidpaint(Graphicsg){
g setFont(newFont( Arial Font BOLD ));
g setColor(Color RED);
g drawString( 这是全屏幕模式 );
}
}
lishixinzhi/Article/program/Java/hx/201311/27030
以上就是关于在JAVA 中怎么重新设置窗体大小。我是要QQ那种,如果窗体顶端贴近电脑屏幕最上时,窗体会收缩成最小。全部的内容,包括:在JAVA 中怎么重新设置窗体大小。我是要QQ那种,如果窗体顶端贴近电脑屏幕最上时,窗体会收缩成最小。、java中图像如何根据屏幕的大小 自动改变、Swing全屏幕模式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)