我正在做一个项目,我正在尝试制作一个绘画程序.到目前为止,我已经使用Netbeans创建了一个GUI并设置了该程序.
到目前为止,我可以调用所有必要的协调来绘制内部,但我对如何在其中进行实际绘制非常困惑.
在我的代码结束时,我尝试在面板内绘图失败.
谁能解释/展示如何在这样的例子中使用图形?
我找到的所有示例都创建了一个类并对其进行了扩展,JPanel但我不知道是否可以执行此操作,因为它是在netbeans中生成的.
我需要画在里面JPanel,在我的内心JFrame.我不知道在哪里放图形类.
package javapaint;
import java.awt.*;
import javax.swing.*;
public class JavaPaintUI extends javax.swing.JFrame {
public JavaPaintUI() {
initComponents();
}
private void initComponents() {
jPanel2 = new javax.swing.JPanel();
jPanel2.setBackground(new java.awt.Color(255, 255, 255));
jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
jPanel2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
jPanel2MousePressed(evt);
}
public void mouseReleased(java.awt.event.MouseEvent evt) {
jPanel2MouseReleased(evt);
}
});
jPanel2.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent evt) {
jPanel2MouseDragged(evt);
}
});
pack();
}// </editor-fold>
int currentX, currentY, oldX, oldY; …Run Code Online (Sandbox Code Playgroud) 我有一个mySQL数据库,有一个表视频和两列,start_time和end_time,格式为2017-01-24 15:38:11.
我有一个活动的记录模型视频扩展\ yii\db\ActiveRecord,我想添加一些不在数据库中的其他属性.
我试图将时间戳分成一个单独的日期和时间,然后我可以在gridview小部件中显示为列.我通过在视图中直接将列值设置为具有类似内容的函数来成功完成此操作...
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' =>
[
[
'class' => '\kartik\grid\DataColumn',
'attribute' => 'videodate',
'value' => function($model)
{
$datetime = new DateTime('start_time');
$date = $datetime->format('Y-m-d');
return $date;
},
],
],
'responsive'=>true,
'hover'=>true
]); ?>
Run Code Online (Sandbox Code Playgroud)
然而,这并不理想,因为我希望能够将我的videoSearch模型中的日期和时间用作属性进行过滤和排序.
根据我的研究,我已经在我的rules()和attributeLabel()函数中将属性添加到视频模型中,但是我不确定如何设置值.我最初的想法是像关系那样做...
public function getVideodate(){
$datetime = new DateTime('start_time');
$date = $datetime->format('Y-m-d');
return $date;
}
Run Code Online (Sandbox Code Playgroud)
然而,这不会产生期望的结果.我想如果我可以在模型中定义并设置然后将其添加到搜索模型应该是简单的,因为我的临时解决方案(在视图中)显着复杂化.
我打算在他改进的gridview小部件上使用kartik的日期范围和时间过滤器.在此,谢谢你,让我知道我还能包括什么.
缺口
我正在研究用java编写的绘图应用程序并遇到一些(更多)问题.我有一个gui和一个工作程序(有点),我唯一的问题是用户绘制的线条和图形没有保存(在绘制下一个之后消失).
从过去的问题我了解到我将需要使用BufferedImage来存储绘图然后在我的绘画类中绘制它.
我的问题是,任何人都可以提供如何使用bufferedimage来存储和绘制绘图的基本解释/示例,如果需要,我将如何将绘制线的颜色和粗细传递到存储的数组中.
那就是全班同学.
package javapaint;
import java.awt.*;
import javax.swing.*;
public class JavaPaintUI extends javax.swing.JFrame {
/** Creates new form JavaPaintUI */
public JavaPaintUI() {
initComponents();
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
buttonGroup2 = new javax.swing.ButtonGroup();
jPanel4 = new javax.swing.JPanel();
jRadioButton9 = new javax.swing.JRadioButton();
jRadioButton10 = new javax.swing.JRadioButton();
jSlider2 = new javax.swing.JSlider();
jLabel1 = new javax.swing.JLabel();
jPanel2 = new Panel2();
jPanel3 = new javax.swing.JPanel();
jRadioButton3 = new javax.swing.JRadioButton();
jRadioButton4 = new javax.swing.JRadioButton(); …Run Code Online (Sandbox Code Playgroud)