<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="match_parent"

    android:layout_height="match_parent">


    <EditText

        android:id="@+id/editTextSMS"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:ems="10"

        android:lines="5"

        android:scrollHorizontally="false"

        android:inputType="textMultiLine"

        android:textSize="43sp"

        android:lineSpacingMultiplier="1.5"

        android:maxLength="40"

        android:letterSpacing="0.1"

        />


    <LinearLayout

        android:orientation="horizontal"

        android:gravity="right"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:textSize="20sp"

        >


        <TextView

            android:id="@+id/textViewCount"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="0"

            android:textColor="#00FFFF"

            />

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="/80 바이트"

            />

    </LinearLayout>


    <LinearLayout

        android:orientation="horizontal"

        android:gravity="center_horizontal"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        >


        <Button

            android:id="@+id/buttonSend"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="onButtonSendClicked"

            android:text="전송" />

            />


        <Button

            android:id="@+id/buttonClose"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="onButtonDownClicked"

            android:text="닫기" />

    </LinearLayout>


</LinearLayout>


public class MainActivity extends AppCompatActivity {

    EditText editTextSMS;

    TextView textViewCount;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        textViewCount = (TextView) findViewById(R.id.textViewCount);

        editTextSMS = (EditText) findViewById(R.id.editTextSMS);

        editTextSMS.addTextChangedListener(new TextWatcher() {

            @Override

            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }


            @Override

            public void onTextChanged(CharSequence s, int start, int before, int count) {

                textViewCount.setText(Integer.toString(s.toString().length()));

            }


            @Override

            public void afterTextChanged(Editable s) {

            }

        });

    }


    public void onButtonSendClicked(View v) {

        Toast toast = Toast.makeText(this, editTextSMS.getText(), Toast.LENGTH_LONG);

        toast.show();

    }

}


package net.dev.mission01;


import android.content.res.Resources;

import android.graphics.drawable.BitmapDrawable;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.ImageView;

import android.widget.ScrollView;


public class MainActivity extends AppCompatActivity {

    ScrollView scrollView01;

    ScrollView scrollView02;

    ImageView imageView01;

    ImageView imageView02;

    Resources res;

    BitmapDrawable bitmap;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        scrollView01 = (ScrollView) findViewById(R.id.scrollView01);

        scrollView02 = (ScrollView) findViewById(R.id.scrollView02);

        imageView01 = (ImageView) findViewById(R.id.imageView01);

        imageView02 = (ImageView) findViewById(R.id.imageView02);


        scrollView01.setHorizontalScrollBarEnabled(true); // 수평스크롤바 사용기능 설정

        scrollView02.setHorizontalScrollBarEnabled(true); // 수평스크롤바 사용기능 설정


        res = getResources();

        bitmap = (BitmapDrawable) res.getDrawable(R.drawable.tulips);

        int bitmap01Width = bitmap.getIntrinsicWidth();

        int bitmap01Height = bitmap.getIntrinsicHeight();


        imageView01.setImageDrawable(bitmap);

        imageView01.getLayoutParams().width = bitmap01Width;

        imageView01.getLayoutParams().height = bitmap01Height;

    }


    public void onButtonUpClicked(View v) { viewImage(bitmap, imageView01, imageView02); }


    public void onButtonDownClicked(View v) { viewImage(bitmap, imageView02, imageView01); }


    private void viewImage(BitmapDrawable bitmap, ImageView view, ImageView clear) {

        view.setImageDrawable(bitmap);

        view.getLayoutParams().width = bitmap.getIntrinsicWidth();

        view.getLayoutParams().height = bitmap.getIntrinsicHeight();


        clear.setImageResource(0);

    }

}


가운데 정렬

    <LinearLayout

        android:orientation="horizontal"

        android:gravity="center_horizontal"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        >


        <Button

            android:id="@+id/button01"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="onButtonSendClicked"

            android:text="버튼1" />

            />


        <Button

            android:id="@+id/button02"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="onButtonDownClicked"

            android:text="버튼2" />

    </LinearLayout>


오른쪽 정렬

   <LinearLayout

        android:orientation="horizontal"

        android:gravity="right"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        >


        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="텍1"

            android:textColor="#00FFFF"

            />

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="텍2"

            />

    </LinearLayout>


jqgrid

$("#tblist1")

.jqGrid('navGrid', '#pager', {

add: false,

edit: false,

del: false,

search: false,

refresh: false

})

.jqGrid( 'navButtonAdd', "#pager", {

caption : "Export to CSV",

buttonicon : "ui-icon-arrowthickstop-1-s",

onClickButton : function() {

$("#tblist1").jqGrid('excelExport',{"url":"./excel/as.do"});

},

position : "first",

title : "Export to CSV",

});


controller

@RequestMapping("/excel/as")

public ResponseEntity<String> csvAsList(Locale locale, AsVO asVo,

@RequestParam Map<String, String> map) throws Exception {

Comm.jqgridSearchFormSetVO(map.get("filters"), asVo);


List<AsVO> excelList = asService.excelList(asVo); // DB에서 가져온 데이터리스트

String data = new DataToCSV().as(excelList);


HttpHeaders header = new HttpHeaders();

header.add("Content-Disposition", "attachment; filename=\"" + "as.csv" + "\"");

header.add("Content-Type", "text/csv; charset=MS949");


return new ResponseEntity<String>(data, header, HttpStatus.OK);

}


servlet-context.xml - UTF-8 프로젝트라서 예외처리용

<beans:bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

<beans:property name="messageConverters">

<beans:list>

<beans:bean class="org.springframework.http.converter.StringHttpMessageConverter">

<beans:property name="supportedMediaTypes">

<beans:value>text/plain;charset=UTF-8</beans:value>

</beans:property>

</beans:bean>

</beans:list>

</beans:property>

</beans:bean>


링크1: http://minamjun11.egloos.com/280191

그림판 폼과 디자이너 파일을 받을 수 있다. 하지만 DrawData가 없어서 실행할 수 없다.


링크: http://social.msdn.microsoft.com/Forums/vstudio/ko-KR/73ccabd9-9882-427e-a3e3-e5e512294c97?forum=visualcsharpko

그림판 폼 소스도 있지만 디자이너 파일이 없다. 그렇지만 링크1에 없었던 DrawData 소스를 볼 수 있다. 

다만 원 그리는 부분이 선 그리기랑 같게 동작하는 버그가 있다.

draw 메서드를 아래와 같이 수정하면 된다.


public void draw(Graphics g)
{
    Rectangle rect;

    Pen pen = new Pen(pen_color, width);
    Brush brush = new SolidBrush(brush_color);

    switch (DrawMode)
    {
        case 1:
           g.DrawLine(pen, StartPoint, EndPoint);
           break;

        case 2:
           rect = new Rectangle(StartPoint.X, StartPoint.Y, EndPoint.X - StartPoint.X, EndPoint.Y - StartPoint.Y);
           if (fill) g.FillEllipse(brush, rect);
           else g.DrawEllipse(pen, rect);
           break;

        case 3:
           rect = new Rectangle(StartPoint.X, StartPoint.Y, EndPoint.X - StartPoint.X, EndPoint.Y - StartPoint.Y);
           if (fill) g.FillRectangle(brush, rect);
           else g.DrawRectangle(pen, rect);
           break;

        case 4:
           rect = new Rectangle(StartPoint.X, StartPoint.Y, EndPoint.X - StartPoint.X, EndPoint.Y - StartPoint.Y);
           if (fill) g.FillEllipse(brush, rect);
           else g.DrawEllipse(pen, rect);
           break;
    }
}


'기타 개발 > C#' 카테고리의 다른 글

LINQ - Left outer join  (0) 2014.04.14
콤보박스(combobox) value, text 다르게 하는 방법  (0) 2014.01.10

바빠서 키포인트만 적자면

join   into

defaultEmpty()


where 절은 서브쿼리로 그 안에서 적어줘야 한다.


혹은 where절을 제외한 join 링큐문을 작성한 후에

where절은 람다식으로 처리할 수도 있다.


포인트는 where를 바깥에 적는 순간 inner join으로 돌변한다.

그리고 LINQPAD는 진리다.

'기타 개발 > C#' 카테고리의 다른 글

그림판 소스  (0) 2014.06.17
콤보박스(combobox) value, text 다르게 하는 방법  (0) 2014.01.10
    List<dictionary<string, string>>; list = ~~~~~;
    foreach (Dictionary<string, string=""> record in list)
    {
        this.combo.Add(record["text"], record["val"]);
    };
    this.combo.DataSource = new BindingSource(list, null);
    this.combo.DisplayMember = "Key";
    this.combo.ValueMember = "Value";


'기타 개발 > C#' 카테고리의 다른 글

그림판 소스  (0) 2014.06.17
LINQ - Left outer join  (0) 2014.04.14
Tiles를 이용하게 되면 주소를 반환해야 할  getRequestURI() 가 layout를 담당하는 jsp의 경로만 반환하게 된다.
아래를 이용하면 정확한 uri를 받을 수 있다. 

request.getAttribute("javax.servlet.forward.request_uri")



+ Recent posts