我正在寻找一种方法来将JFrame上的当前日期和时间显示为JLabel,但是它会自动更新.一旦它被绘制到窗格,我不需要担心手动更新它,因为它会刷新说,每2秒.
有没有正确的方法呢?而不是每2秒手动更改JLabel的文本值.
我正在尝试让JLabel显示日期并每秒更新一次.为此,我使用Swing的Timer类并实现我自己的类DateTimer.DateTimer也是一个ActionListener.
这是DateTimer:
public class DateTimer implements ActionListener {
private int delay;
private JLabel label;
private Calendar cal;
public DateTimer(int delay, JLabel label) {
this.delay = delay;
this.label = label;
cal = Calendar.getInstance();
new Timer(this.delay, this).start();
}
public void actionPerformed(ActionEvent e) {
this.label.setText(this.cal.getTime().toString());
}
}
Run Code Online (Sandbox Code Playgroud)
我在我的代码中的其他地方调用这个,如下所示:
new DateTimer(1000, this.label);
Run Code Online (Sandbox Code Playgroud)
我得到一次显示的日期,然后它不会更新.
我是Java GUI和处理动作的新手,所以请原谅我的无知.
我在Windows环境中制作了这个应用程序.在eclipse中,我通过去做了一个可执行的.jar文件File > Export > Executable Jar
我可以通过用Java打开它在Windows中启动应用程序.但是在Linux中,当我运行时java -jar app.jar
,我得到了这个:
Exception in thread "main" java.lang.UnsupportedClassVersionError: ConfigReader (Unsupported major.minor version 50.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Run Code Online (Sandbox Code Playgroud)
不支持的类版本错误是什么意思?
我一直试图让这个工作,但我一直在解析错误:
if (isset($_POST['submit'])) {
if ( isset($_POST['agree']) == false ||
isset($_POST['name'] == false ||
isset($_POST['email'] == false ||
isset($_POST['title'] == false ||
isset($_POST['program'] == false ||
isset($_POST['course'] == false ||
isset($_POST['file'] == false ||) {
echo ' <font color="red"> Please complete all required fields </font><br><br> ';
}
}
Run Code Online (Sandbox Code Playgroud)
在PHP中可以做这样的事吗?这是为了让我的代码更具可读性.
我正在制作一个使用Getopt :: Long来解析命令行参数的perl脚本.但是,我有一个可以接受字符串(带空格)的参数.如何将整个字符串转换为变量.例如:
./script.pl --string=blah blah blah blah yup --another-opt
Run Code Online (Sandbox Code Playgroud)
我需要变量$ string中的"blah blah blah blah yup".我知道Getopt :: Long支持一个参数的多个输入,当你知道你将拥有多少时(我没有).这可能吗?
在我的页面顶部附近,我有这个:
<?php $id = $_GET['id']; ?>
Run Code Online (Sandbox Code Playgroud)
然后我有一些从POST读取的表单检查条件:
if (isset($_POST['completeSubmit'])) {
//code
}
Run Code Online (Sandbox Code Playgroud)
最后,我有一个HTML表单,如下所示:
<form action="<?php echo $_SERVER['PHP_SELF']."?id=$id"; ?>" name="complete" method="post">
<input type="submit" id="textButton" name="completeSubmit" value="[mark as complete]">
</form>
Run Code Online (Sandbox Code Playgroud)
最初使用带有id变量的GET访问该页面,如下所示:
http://website.com/page.php?id=1
Run Code Online (Sandbox Code Playgroud)
所有后续表单提交(重定向到同一页面)都会失败.我知道你不能在同一个请求中发送GET和POST,但看到我的表单提交到$_SERVER['PHP_SELF']."?id=$id"
使用POST不应该有效吗?这是我第一次尝试这样做,所以我很可能忽略了一些微不足道的事情.
我刚刚开始使用Fuel,我正在尝试使用该auth
软件包实现基本用户身份验证和注册.
我有一个控制器auth.php
,我有action_login
,action_register
并且action_logout
功能.这些函数(当前)只调用生成登录和注册过程的html表单的视图(但它们当前没有做任何事情).
我查看了文档,并尝试在线查找一些教程,但似乎缺乏.我需要用户模型吗?我需要使用orm
吗?我有用户表,我用它生成oil
.我是否需要安全令牌才能使用表单?写这个最简单的方法是什么?
我有一个action_register
试图注册新用户的功能.如果成功,我希望将用户转发到登录表单(通过此处显示action_login
).不过,我也想送$message
并$message_type
给说像"你的账户已经建立,请登录"登录视图.
什么是最好的方法.最好的,我的意思是可维护,清洁和安全.
我的想法到现在为止:
action_login
并重定向的URL .action_login
一如既往地渲染.这是我在编译时遇到的错误:
Undefined symbols for architecture x86_64:
"typeinfo for BaseClass", referenced from:
typeinfo for DerivedOne in base-49c1cd.o
typeinfo for DerivedTwo in base-49c1cd.o
"vtable for BaseClass", referenced from:
BaseClass::BaseClass() in base-49c1cd.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [test] Error 1
Run Code Online (Sandbox Code Playgroud)
这是base.h
:
class BaseClass {
public:
// an enum …
Run Code Online (Sandbox Code Playgroud) 在你问之前,是的,函数是在我的模板类的标题中定义的.
这是以下相关部分Example.h
:
template<class T, class J, const int X, const int Y>
class Example {
public:
friend std::ostream& operator<<(std::ostream& s, const Example<T,J,X,Y>& b);
}
template<class T, class J, const int X, const int Y>
std::ostream& operator<<(std::ostream& s, const Example<T,J,X,Y>& b) {
// stuff
}
Run Code Online (Sandbox Code Playgroud)
我是这样说的main.cpp
:
void foo(Example<A,B,5,5>& b) {
std::cout << b;
}
int main() {
Example<A,B,5,5> b = Example<A,B,5,5>();
foo(b);
}
Run Code Online (Sandbox Code Playgroud)
编译时,我收到以下链接器错误:
Undefined symbols for architecture x86_64:
"operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, Example<A, B, 5, 5> const&)", …
Run Code Online (Sandbox Code Playgroud)