小编Jac*_*nor的帖子

Java如何使JFrame作为最大化窗口开始

我想知道如何使java JFrame开始最大化.我不希望它是全屏的(没有窗口)我只是想让它像普通程序一样开始,比如网页浏览器.

我已经知道使用:

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Run Code Online (Sandbox Code Playgroud)

要获得屏幕大小,但是当您将此维度应用于JFrame时,即使它占据了几乎所有屏幕,它仍然可以被拖动.你可以按下maximse按钮来停止它,但我宁愿窗口最大化.

此外,我担心最大化窗口会对窗口内容产生的影响.

我该怎么做呢?

java swing screen jframe dimension

5
推荐指数
1
解决办法
4944
查看次数

Java如何使JFrame最大化但不可调整大小

最初(参见我之前的问题" Java如何使JFrames作为最大化窗口开始 ")我想创建一个最大化的窗口.此代码完成此操作:

public static void main(String[] args)  {

JFrame frame = new JFrame();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);

}
Run Code Online (Sandbox Code Playgroud)

但是,如果此窗口恢复,它将成为一个几乎不存在的栏.为了解决这个问题,我使用setSize()为窗口设置了一个大小.这有效但存在另一个问题,窗口仍然可以调整大小.

为了解决这个问题,我设置了setResizable(false); 到目前为止这是我的代码:

public static void main(String[] args) {

    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

    JFrame frame = new JFrame("Jedia");
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    frame.setSize(screenSize);
    frame.setResizable(false);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
Run Code Online (Sandbox Code Playgroud)

但是,现在窗口以指定的大小(而不是最大化)开始,无法恢复.

所以,我的问题是,我怎样才能使窗口开始最大化,给它一个大小,以便它恢复时,并使其不可能重新调整大小?或者创建一个开始最大化并且无法恢复的窗口?

java swing screen jframe dimension

5
推荐指数
1
解决办法
2万
查看次数

C - Xlib - BadWindow使用XGetWindowProperty作为窗口标题时出错

我想在C中使用Xlib获取所有打开窗口标题的列表.我正在运行Ubuntu 12.04.我使用以下代码来完成此任务:

#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <stdio.h>
#include <stdlib.h>

Window *list(Display *disp, unsigned long *len)
{
    Atom prop = XInternAtom(disp, "_NET_CLIENT_LIST", False), type;
    int form;
    unsigned long remain;
    unsigned char *list;

    XGetWindowProperty(disp, XDefaultRootWindow(disp), prop, 0, 1024, False, XA_WINDOW,
                            &type, &form, &len, &remain, &list);
    return (Window *)list;
}
char *name(Display *disp, Window window)
{
    Atom prop = XInternAtom(disp, "WM_NAME", False), type;
    int form;
    unsigned long remain, len;
    unsigned char *list;

    XGetWindowProperty(disp, window, prop, 0, 1024, False, AnyPropertyType,
                            &type, &form, &len, …
Run Code Online (Sandbox Code Playgroud)

c window xlib

4
推荐指数
1
解决办法
1909
查看次数

为什么这不指向数组中的空字符?( '\ 0')

抱歉措辞不好的问题,我想不出更好的名字.

我正在学习C,刚刚转到指针并编写了一个函数strcat(char*s,char*t),它将t添加到s的结尾:

void strcat(char *s, char *t) //add t to the end of s
{
    while(*s++)                //get to the end of s
        ;
    *s--;                      //unsure why I need this
    while(*s++ = *t++)         //copy t to the end of s
        ;
    return;
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是为什么我需要这条线:

*s--;
Run Code Online (Sandbox Code Playgroud)

当我最初添加它时,我认为直到我完成代码才有意义.

我会认为以下情况属实:

1)第一个循环连续递增,当*s为0(或空字符)时,它继续前进,所以现在*s指向数组的空字符.

2)所以我应该做的就是实现第二个循环.s的原始null字符将被t的第一个字符替换,直到我们得到t的null字符,此时我们退出第二个循环并返回.

很明显我错过了一些东西,因为代码没有它就行不通!!

在第一个循环*s指向超出'\ 0'的一个位置之后但我的问题是为什么?

提前致谢 :)

c arrays pointers char

1
推荐指数
1
解决办法
149
查看次数

标签 统计

c ×2

dimension ×2

java ×2

jframe ×2

screen ×2

swing ×2

arrays ×1

char ×1

pointers ×1

window ×1

xlib ×1